Animated natural phenomena, such as smoke, fire, and liquids, have become an indispensable component in contemporary computer generated animation, special effects, training simulators, and computer games. Currently, realistic and believable animations of these elements are most effectively achieved through physically-based numerical simulations of fluid dynamics. Efficient and stable methods for performing such simulations have been recently introduced to the computer graphics community [12,3,4,2,10]. However, providing animators with means for controlling such animations in an intuitive yet precise manner remains a challenging open problem. The present invention addresses this problem by introducing a new tool for controlling animations of smoke.
To illustrate just how challenging smoke animation control can be, consider the shot from the recent feature film The Fellowship of the Ring, where the smoke that Gandalf blows forms a beautiful galleon that sails right through Bilbo's expanding smoke ring. It would have been extremely difficult, if not impossible, for an animator to achieve such detailed and precise smoke formations and motion by manually adjusting wind fields and other smoke simulation parameters.
Many researchers in the field of computer graphics have used physically-based models and computational fluid dynamics (CFD) to simulate fluid flows. The interested reader can find good surveys in the previous work sections of [12], [3], and [13]. Different mechanisms for controlling fluid flows are disclosed in [6], [8], [13] and [15].
Foster and Metaxas [6] describe a mechanism referred to as “embedded controllers” via which an animator may introduce various effects into fluid animations by adapting boundary and fluid properties, and pressure and velocity fields. Thus, animators need not understand the fluid dynamics equations, or the low-level details of the solver. However, they must understand the dynamics of the effect they are interested in achieving.
Witting [15] describes the CFD tool that was used at DreamWorks Feature Animation to produce smoke and fluid effects for the feature film The Prince of Egypt. DreamWorks is a trademark of DreamWorks Animation LLC, California, USA. With this tool animators drive fluid simulations by using images and animated sequences to specify inputs such as initial temperature fields, heat sources, and forcing functions. Another production tool that provides animators both artistic and behavioral control for animation of flames is described by Lamorlette and Foster [8]. However, neither of these tools supports direct control over the desired results.
In a recent pioneering work Treuille et al. [13] introduced a method for keyframe control of smoke simulations. They employ a shooting technique to solve for the optimal wind forces that would cause a smoke simulation to approximate a set of user-specified keyframes as closely as possible. An animator controls a smoke simulation by specifying smoke density keyframes. Continuous quasi-Newton optimization is then used to solve for the control forces that would cause the simulated smoke to approximate the keyframes while minimizing the amount of force. The control force field is defined by a collection of parametric wind and vortex forces, and the optimization process searches for the appropriate parameter values.
While this approach has produced some very impressive results, it suffers from several drawbacks. First, the optimization framework is very expensive, as it requires multiple evaluations of the objective function and of its gradient. Each evaluation performs an entire simulation and, in addition to computing the velocity and the smoke density, their derivatives with respect to each of the control parameters are computed as well. Furthermore, the dimensionality of the optimization problem grows with the length of the simulation, so it is necessary to split the original problem into several smaller optimization problems, organized in two overlapping schedules, and to alternate between them. The dimensionality and cost concerns also dictate using a small number of control forces and a relatively coarse grid, making it difficult to specify and match highly detailed keyframes.
U.S. Pat. No. 6,266,071 (Stam) entitled “Method of producing fluid-like animations using a rapid and stable solver for the Navier-Stokes equations” and published Jul. 24, 2001 discloses a method for performing computer graphic simulation of a fluid in motion. The method takes input data and calculates the velocity of the fluid at a plurality of points at successive time intervals. The velocity values are sent to an animator module which produces a geometrical description of the scene. This geometrical description is then sent to a renderer module, which calculates an image using the geometrical description. The animation is then displayed on an output device. Scalar quantities such as temperature and density may also be calculated and sent to the renderer module, where they are used in calculating the image.
U.S. Pat. No. 5,999,194 (Brunelle) entitled “Texture controlled and color synthesized animation process” and published Jul. 12, 1999 discloses a process for producing an animation having fluid color, texture and consistency throughout the entire sequence. The process comprises the steps of creating key frames containing objects and characters having substantial color and texture and which correspond to an animated sequence. The key frames are digitized into a computer system for storage in a memory space. Two consecutive key frames are then defined as a source key frame and a target key frame. Corresponding features in both the source key frame and the target key frame are then outlined and in-between frames are generated by linear interpolation of each outlined Fig. in the source key frame and a corresponding outline in the target key frame.
The contents of both the above-referenced patents are incorporated herein by reference.
It would be desirable to provide a method and system for generating fluid-based animations, which allows complex simulations or animations to be controlled with very little additional cost compared to hitherto-proposed simulations and which avoids the need for optimization as required by Treuille et al. [13].